Some virtual computing embodiments make use of environments. An environment is a virtual workspace, or “virtual data center,” that contains virtual infrastructure such as one or more virtual machines (VM), one or more networks, network connections, and one or more computational services. An environment also defines how VMs reach the public Internet, corporate data centers via VPN, and/or computational services external to the environment. Environments are used to contain and execute software applications. A typical example is a hotel reservation system. An environment may be running, suspended, stopped, or powered off. The exact state of an environment can be saved as a template. A template is a read-only definition of a complete virtual data center and includes the virtual infrastructure, computational services, applications state, and connections to external resources. Templates may be simple, containing only a single VM, or quite complex, containing hundreds of VMs spanning multiple networks. An environment can be instantiated from a template. Instantiating an environment from a template typically involves selecting one of a number of different physical data centers in which the template is to be instantiated as an environment. For instantiation in a remote data center selection, data constituting the template is copied from wherever it resides to the selected physical data center as part of the instantiation process.